package com.zjuee.service.auth.service;

import com.zjuee.base.model.common.auth.UserRole;
import com.zjuee.service.auth.vo.MenuVo;

import java.util.List;

/**
 * @author wu liang
 * @since 1.0
 */
public interface UserRoleService {

    /**
     * 新增
     *
     * @param type Object
     * @return Object
     */
    Long add(UserRole type);


    /**
     * 更新
     *
     * @param type Object
     * @return Object
     */
    boolean update(UserRole type);

    /**
     * 根据角色Id删除数据
     *
     * @param roleId Long
     * @return boolean
     */
    boolean deleteByRoleId(Long roleId);

    /**
     * 根据用户Id删除数据
     *
     * @param userId Long
     * @return boolean
     */
    boolean deleteByUserId(Long userId);

    /**
     * 获取角色是否被使用
     * @param id Long
     * @return Integer
     */
    Integer findAllUserByRoleId(Long id);

    /**
     * 获取所有此用户已分配的资源
     */
    List<MenuVo> findAllMenus(Long userId);

    /**
     * 查询该用户的角色Id
     */
    UserRole getUserRole(Long userId);

}
